Apparatus and method for controlling a system process

ABSTRACT

A process controlling method uses a flowchart language program and ladder programs with an intermediate register to be accessible with the same name by both the flowchart language program and the ladder programs. Each ladder program defines the operation of a machine, including an interlock condition or the like of the machine operation. The flowchart language program defines an automatic operation flow which sequentially activates the ladder programs using the data in the intermediate register. This arrangement allows the flowchart language program to be separated from the ladder programs, thereby improving productivity, serviceability and security of the programs.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a process controlling method and acontroller, and more particularly to a method for creating, structuringand executing programs in the controller.

2. Description of the Related Art

A method for combining a ladder program with a flowchart languageprogram is disclosed in "Yaskawa Denki" vol. 53 No. 203 `89.2(hereinafter referred to as a known example 1)` in which the flowchartlanguage program is activated by the ladder program when a trouble hasoccurred.

U.S. Pat. No. 4,742,443 (hereinafter referred to as a known example 2)discloses a method for dividing a large control task into a plurality ofcontrol steps to be sequentially executed so as to define each controlstep using a separate ladder program while defining the procedure,according to which the control steps are to be executed, using astructure chart program.

Referring to the known example 1, the ladder program defines the wholeflow of a program and the structural form of the program is not takeninto consideration. Consequently, the following problems are caused:Even after completion of creating a program, an actual machine testcannot be carried out until the program is installed into a system. Itis difficult to execute the parallel work for program development. It ishard to carry out separation of the system when troubles have occurred.Know-how of machine operation and that of production flow are includedin the same program so that it is difficult to keep informationconfidential.

Referring to the known example 2, the program is structured. However, nomeans for manual control of machines is disclosed. The ladder programsdo not include means for manually controlling the machines.Consequently, it is difficult to separate the ladder programs from theflowchart language program so as to execute the actual machine tests ofthe ladder programs. Furthermore, it is hard to cope with troubles. Inaddition, the structure chart program and the ladder programs are not tobe executed in parallel but to be executed sequentially. Accordingly, itis difficult to perform processes such as management of a waiting timeusing the structure chart program while executing the ladder programs.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide a processcontrolling method and a controller wherein the control of the flow ofall control objects and that of each control object are divided intoseparate control programs so that the productivity, serviceability andsecurity of the control programs can be improved.

It is another object of the present invention to provide a processcontrolling method and a controller wherein ladder programs, which areindependent for each control object, are described and includeautomatic-manual switching means so that the maintenance and secrecy ofthe control programs can be improved.

It is yet another object of the present invention to provide a processcontrolling method and a controller wherein a flowchart language programand the ladder programs can be executed in parallel so as to easilyperform time management or the like.

The present invention provides a process controlling method for fetchingdata related to control objects and controlling the control objects inaccordance with the data, the method comprising steps of defining thewhole flow, which controls the control objects in accordance with aflowchart language program, defining operations of the control objectsby ladder programs, respectively, and providing a set of contacts in theladder programs such that the set of the contacts allow the controlobjects to be controlled in accordance with the results of execution ofthe flowchart language program in automatic operation and to becontrolled in accordance with manual switches irrespective of theresults of execution for the flowchart language program in manualoperation.

Furthermore, the present invention provides another process controllingmethod for fetching data related to control objects and controlling thecontrol objects in accordance with the data, the method comprising stepsof providing a flowchart language program for defining the whole flowwhich controls the control objects, providing ladder programs each forcreating control data which controls each control object using, asoperating conditions, the fetched data related to the control objectsand the results of execution of the flowchart language program, andexecuting the ladder programs in parallel with the flowchart languageprogram. Thus, there may exist a two level hierarchical program systemin which the flowchart language program defines the whole flow and theladder programs define objects specific flow.

According to the process controlling method mentioned above, the resultsof execution of the ladder programs may be fetched as the operatingconditions of the flowchart language program.

Preferably, each ladder program includes contacts for at least one of atroubleshooting and an interlock that are inherent in the controlobject.

The present invention further provides a controller for fetching datarelated to control objects and outputting control data which controlsthe control objects in accordance with the data, the controllercomprising first storage means for storing a flowchart language programwhich defines the whole flow of automatic operation for the controlobjects, a first processor for executing the flowchart language programwhich is stored in the first storage means, second storage means forstoring a plurality of ladder programs which control the operations ofthe control objects in accordance with the flow of the flowchartlanguage program in automatic operation and in accordance with a manualswitch in manual operation, a second processor for executing the ladderprograms stored in the second storage means, and third storage meansincluding a storage area which the first and second processors canaccess for transferring information therebetween.

Preferably, the third storage means further may include a storage areainto which the output and/or input status of a sensor and/or a switch iswritten and the processors execute the respective programs withreference to the storage area.

According to the present invention, the flowchart language programdefines the control procedure of all control objects in automaticoperation while the ladder programs define the contents of control forthe actual operations of the control objects. Each independent ladderprogram is defined so as to be completed for each control object (i.e.,each ladder program controls only one control object). Both theflowchart language program and the ladder programs are simultaneouslyexecuted by separate processors in parallel with each other. The thirdstorage means (an intermediate register to be described below) functionsas information transfer means between the ladder programs and theflowchart language program, the ladder programs and the flowchartlanguage program being synchronized with each other by the third storagemeans. In other words, the results of execution of either of theprograms can be used as the operating conditions for the other.Consequently, the flowchart language program and the ladder programs,which are separately operated by two processors, are made to cooperatewith each other so that the control objects can smoothly be controlledin automatic operation.

Furthermore, each ladder program includes contacts which are turned onand off by an automatic-manual switch for changing over the automaticand manual operations. With the contacts, the flowchart language programcan be connected to or separated from the ladder programs. Each ladderprogram controls the operation of a specific control object. In manualoperation, each control object can be controlled by a manual switch orthe like irrespective of the results of execution of the flowchartlanguage program with no change in the program logic. Thus, the ladderprograms can be separated from the flowchart language program so as toallow parallel programming and separate actual machine test, therebyimproving the productivity, serviceability and security of the programs.

These and other objects, features and advantages of the presentinvention will become more apparent upon reading of the followingdetailed description and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing the whole system including machines ofcontrol objects and control programs according to the present invention;

FIG. 2 is a block diagram showing the construction of an intermediateregister shown in FIG. 1;

FIG. 3 is a view for explaining one example of the combination of ladderprograms and a flowchart language program;

FIG. 4 is a block diagram showing the construction of a controller forprogram control according to the present invention;

FIG. 5 is a view for explaining a specific system to which the presentinvention is applied;

FIG. 6 is a view for explaining an example of the flowchart languageprogram which controls the automatic operation flow of the system shownin FIG. 5; and

FIGS. 7 to 11 are views for explaining examples of the ladder programswhich control the operation of individual machines of the system shownin FIG. 5.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 shows the construction of the whole system which includes controlprograms and machines to be controlled according to the presentinvention.

The system includes machines 32, 42 and 52, ladder programs 31, 41 and51 for controlling the respective machines, a flowchart language program1, an intermediate register 2 from and to which data can be read andwritten by the programs, sensors 6 and 7, and the like.

The flowchart language program 1 defines the whole flow for controllingmachines 3, 4 and 5 with the ladder programs in response to inputs fromthe sensors 6 and 7, and the like. The flowchart language program 1 isexecuted by a flowchart language processor (to be described below withreference to FIG. 4).

The ladder programs define the processing of the respective machines. Inother words, the ladder programs 31, 41 and 51 define the processing ofthe machines 32, 42 and 52, respectively. The ladder programs aresequentially and periodically executed each for a short time by means ofa ladder processor (to be described below with reference to FIG. 4) inparallel with execution of the flowchart language program.

FIG. 2 shows the construction of the intermediate register 2 shown inFIG. 1.

The intermediate register 2 can be accessed by the flowchart languageprogram and the ladder programs under common designations (for example,X, Y, R and the like). The designations and functions of theintermediate register 2 are as follows:

X: an external actual contact input from the machines and the like,

Y: an external actual contact output to the machines and the like,

R: an internal register,

J: a transfer register for transferring information from the flowchartlanguage program to the ladder programs,

Q: a receive register for transferring information from the ladderprograms to the flowchart language program,

XW: an external input word register,

YW: an external output word register, and

RW: an internal word register.

It should be noted that FIG. 2 shows one example of the intermediateregister 2, to the designations, types and number of which is notlimited.

FIG. 3 shows an example in which the ladder programs and the flowchartlanguage program are adapted to have a hierarchical structure with theintermediate register.

In creation of the ladder programs, a ladder program is createdincluding manual conditions and interlocks for each execution number ofthe flowchart language program. In this case, an `automatic` contact isinputted using the transfer register in the form of J . . .correspondingly to an execution number of the flowchart languageprogram. In the flowchart language program, the flow of the wholeprocess in automatic operation is described by the transfer registers J. . . in such a manner that the ladder programs are activated by outputsof the flowchart language program.

Thus, a control program having a 2-hierarchical structure can beobtained by using the intermediate register.

FIG. 4 shows one example of a controller for executing the programsshown in FIG. 3.

A controller 10 includes processors 11 and 12, memories 13a and 13b, anarbitrator circuit 14, an intermediate register 15 and an I/O interface16. The processors 11 and 12 execute the flowchart language program andthe ladder programs, respectively. The memories 13a and 13b store theflowchart language program and the ladder programs, respectively. Theintermediate register 15 serves as storage areas to which both theprocessors 11 and 12 can access. The arbitrator circuit 14 arbitratescollision of accesses of the processors 11 and 12 to the intermediateregister 15. The controller 10 is connected to a process input-outputdevice 20 through the I/O interface 16. The process input-output device20 is connected to a control object 100 through a sensor 101 and anactuator 102.

The status of the control object 100 is input from the sensor 101 to thecontroller 10 through the process input-output device 20. In thecontroller 10, input signals are stored as process values in theintermediate register 15 through the I/O interface 16. The flowchartlanguage processor 11 and the ladder processor 12 fetch the processvalues from the intermediate register 15 and executes operations thereonin order to approximate a value to be controlled of the process to atarget value, so that control parameters of the process is stored in theintermediate register 15. Signals of the control quantity stored in theintermediate register 15 are output from the controller 10 to theprocess input-output device 20 through the I/O interface 16. The controlparameters are transferred through the process input-output device 20 tothe actuator 102 so as to control the control objects 100.

According to the present embodiment, the following advantages can beobtained.

(1) It is possible to carry out parallel works for creating the ladderprograms which directly control the machines and for creating theflowchart language program which controls the automatic operation ofproduction flow.

(2) Accordingly, the independence of the programs is enhanced so thatthe programs can be uniformalized. The productivity of software can thusbe improved.

(3) The automatic operation production flow is closed within theflowchart language program. Consequently, the know-how of the automaticoperation can be concealed in the flowchart language program.

(4) Similarly, the know-how of machine operations can be closed withinthe ladder programs.

(5) The whole program can be structured to improve serviceability.

(6) The debug of each ladder program can individually be executed bymeans of the respective contacts of the manual operations. Consequently,debug efficiency can be improved.

FIG. 5 is a view showing the construction of a system according toanother specific embodiment of the invention.

The system includes an extruder 201, a motor 200, limit switches 224 and225, a casting port 202, a work table 203, a lifting machine 204, acarrier line 205, a product casting gate 223, a motor 209, a detector226, a product request buzzer 210, an automatic-manual operation switch206, an operation start switch 207 and an emergency stop switch 208. Theextruder 201 extrudes a box 222. The motor 200 drives the extruder 201.The limit switches 224 and 225 detect forward and backward ends of theextruder 201, respectively. Placed on the casting port 202 is the box222 for housing products 221. The lifting machine 204 lifts up the worktable 203. The carrier line 205 carries the box 222 which has theproducts 221 therein. The gate 223 controls the timing for casting theproduct 221 into the box 222. The motor 209 drives the gate 223. Thedetector 226 detects the product 221 which has arrived at the gate 223.The buzzer 210 is operated to request a next product when the product221 is cast into the box 222. The automatic-manual operation switch 206changes over the automatic and manual operations of the above-mentioneddevices. With the operation start switch 207 the operation of the systemis started.

In FIG. 5, X001 to X009 and X110 to X114 are inputs from the system tothe controller, and Y010 to Y014 are outputs from the controller to thesystem. More specifically, X001 is an input from the limit switch 224and is turned ON when the extruder 201 is at the backward end. X002 isan input from the limit switch 225 and is turned ON when the extruder201 is at the forward end. X003 is turned ON when the operation startswitch 207 is turned ON. X004 is turned OFF when a thermal fuse is blownowing to the abnormal temperature of the motor 200. X005 is turned ONwhen the emergency stop switch 208 is turned ON. X006 is turned ON whenthe automatic operation is specified, and is turned OFF when the manualoperation is specified by the automatic-manual operation switch 206.X007 is turned ON when the detector 226 detects that the product 221arrives at the gate 223. X008 is turned OFF when the thermal fuse isblown owing to the abnormal temperature of the lifting machine 204. X009is turned OFF when the thermal fuse is blown owing to the abnormaltemperature of the motor 109. X110 to 114 are turned ON when therespective switches are turned ON.

Y010 is an output for moving the extruder 201 in a direction of theforward end. Y011 is an output for moving the extruder 201 in adirection of the backward end. Y012 is an output for operating thebuzzer 210. Y013 is an output to the motor 209 for opening the gate 223.Y014 is an output to the lifting machine 204 for lifting up the worktable 203.

FIG. 6 is a flowchart program for controlling the automatic operationshown in FIG. 5.

In FIG. 6, denotes the start of the program, denotes a state waiting fora condition, denotes an output, denotes the end of the program, and ∩denotes an AND condition.

There will be described the flow of the automatic operation shown inFIG. 5 with reference to FIG. 6.

(1) At first, the extruder 201 is stationary at the backward end.

(2) Wait at the backward end (X001) until the operation start switch(X003) is turned ON.

(3) When the condition (2) is once met, activate a ladder (FIG. 7) forforward movement of the extruder 201 (J010).

(4) Wait until the forward end (X002) is reached.

(5) When the condition (4) is once met, activate a ladder (FIG. 8) forbackward movement of the extruder 201 (J011).

(6) Wait until the backward end (X001) is reached.

(7) When the Condition (6) is once met, stop the backward movement (J011OFF) and operate the buzzer (FIG. 9) (J012).

(8) Wait until the product arrives (X007 ON).

(9) Stop the operation of the buzzer and activate a ladder for openingthe gate (FIG. 10) (J013).

(10) Wait for ten seconds until the product drops down (a numeral in aparenthesis represents the number of 0.1 seconds).

(11) Close the gate (J013 OFF), lift up the work table (J014) and thenstart to drop the packed product onto the carrier line (FIG. 11).

(12) Wait for 30 seconds until the packed product is dropped onto thecarrier line.

(13) Bring down the work table (J014 OFF).

(14) Wait for 30 seconds until the work table returns to its originalposition.

(15) Return to (1).

FIGS. 7 to 11 show ladder programs, in which denote an A contact,denotes a B contact and denotes an output coil.

FIG. 7 shows a ladder program for moving the extruder 201 forward. Atthe time of the automatic operation, X006 is turned ON. Accordingly,J010 is activated by the flowchart program (J010 ON) to turn ON anoutput (Y010) for moving the extruder 201 forward when the emergencystop switch 208 is turned OFF (X005 OFF) and the temperature of themotor 200 is not abnormal (X004 ON).

At the time of the manual operation, X006 is turned OFF. Accordingly, aY010 manual output switch is turned ON (X110 ON) so that the output(Y010) for moving the extruder 201 forward can be turned ON (theextruder 201 can be moved forward) when the emergency stop switch 208 isturned OFF (X005 OFF) and the temperature of the motor 200 is notabnormal (X004 ON).

FIG. 8 shows a ladder program for moving the extruder 201 backward. Atthe time of the automatic operation, X006 is turned ON. Accordingly,J011 is activated by the flowchart program (J011 ON) to turn ON anoutput (Y011) for moving the extruder 201 backward (move the extruder201 backward) when the emergency stop switch 208 is turned OFF (X005OFF) and the temperature of the motor 200 is not abnormal (X004 ON).

At the time of the manual operation, X006 is turned OFF. Accordingly, aY011 manual output switch is turned ON (X111 ON) so that the output(Y011) for moving the extruder 201 backward can be turned ON (theextruder 201 can be moved backward) when the emergency stop switch 208is turned OFF (X005 OFF) and the temperature of the motor 200 is notabnormal (X004 ON).

FIG. 9 shows a ladder program for operating the buzzer 210. At the timeof the automatic operation, X006 is turned ON. Accordingly, J012 isactivated by the flowchart program (J012 ON) to turn ON a buzzer output(Y012) (operate the buzzer) when the emergency stop switch 208 is turnedOFF (X005 OFF).

At the time of the manual operation, X006 is turned OFF. Accordingly, aY012 manual output switch X112 is turned ON (X112 ON) so that the buzzeroutput (Y012) can be turned ON (the buzzer can be operated) when theemergency stop switch 208 is turned OFF (X005 OFF).

FIG. 10 shows a ladder program for opening the gate 223. At the time ofthe automatic operation, X006 is turned ON. Accordingly, J013 isactivated by the flowchart program (J013 ON) to turn ON an output (Y013)for opening the gate 222 (open the gate 222) when the emergency stopswitch 208 is turned OFF (X005 OFF) and the temperature of the motor 209is not abnormal (X009 ON).

At the time of the manual operation, X006 is turned OFF. Accordingly, aY013 manual output switch is turned ON (X113 ON) so that the output(Y013) for opening the gate 222 can be turned ON (the gate 222 can beopened) when the emergency stop switch 208 is turned OFF (X005 OFF) andthe temperature of the motor 209 is not abnormal (X009 ON).

FIG. 11 shows a ladder program for lifting up the work table 203. At thetime of the automatic operation, X006 is turned ON. Accordingly,J014 isactivated in accordance with the flowchart program (J014 ON) to turn ONan output (Y014) for lifting up the working table 203 (lift up the worktable 203) when the emergency stop switch 208 is turned OFF (X005 OFF)and the temperature of the lifting machine 204 is not abnormal (X008ON).

At the time of the manual operation, X006 is turned OFF. Accordingly, aY014 manual output switch is turned ON (X114 ON) so that the output(Y014) for lifting up the working table 203 can be turned ON (theworking table 203 can be lifted up) when the emergency stop switch 208is turned OFF (X005 OFF) and the temperature of the lifting machine 204is not abnormal (X008 ON).

According to the present embodiment, the ladder programs define controlsincluding processing for trouble and interlocks which are inherent inthe devices forming the system, and the manual operation is selected(X006 OFF) so that the trial operations of the devices can be completedby means of the ladder programs. When the automatic operation is thenselected (X006 ON), the whole system can be controlled by means of theflowchart program which defines the whole production flow.

When a trouble has occurred to the system, the manual operation can beselected (X006 OFF) to operate the devices by means of the manualswitches. Consequently, the partial operation of the system can manuallybe continued.

According to the present invention, it is possible to create the ladderprograms and the flowchart language program in parallel (FIGS. 2 and 3).The ladder programs are separated from the flowchart language program atmanual operation contacts thereof, so that the actual machine test ofthe ladder programs can be completed. In addition, the whole program hasthe 2-hierarchical structure which is comprised of ladder programs andflowchart language program, thereby enhancing the independence of theprogram so that the programs can be uniformalized and the programs canbe reused.

Thus, the productivity of the programs can be improved.

An example of parallel execution of the flowchart language program andthe ladder programs, referring to FIG. 4, is described as follows. Theflowchart language processor initially reads from the flowchart languageprogram memory and the ladder processor initially reads from the ladderprogram memory. If all initial conditions are satisfied, the flowchartprocessor begins. As the flowchart processor is working on the overallsystem operation, the ladder processor is simultaneously working onobject specific operation. As the flowchart processor is instructed, bythe program, to control an object, the flowchart processor prompts theladder processor to engage the object specific tasks to accomplish theinstructed operation. While the ladder processor is accomplishing thespecific tasks, the flowchart processor then simultaneously processesthe next system instruction. When the next system instruction requires acontrol of an object, the flowchart processor prompts the ladderprocessor to engage the object specific tasks to accomplish theinstructed operation. While the ladder processor is accomplishing thesecond task, the flowchart processor then simultaneously processes thenext instruction. This parallel execution of the program continues untilall instructions are completed.

Moreover, according to the present invention, the whole program isstructured to thereby simplify the entire structure of the program sothat the serviceability of the programs can be improved. In addition,the know-how of the automatic operation production flow can be closed inthe flowchart language program, while the know-how of the machineoperation can be closed in the ladder programs, improving the securityof the programs.

Furthermore, it would be understood that the foregoing relates to onlythe scope of the present invention as defined by the appended claimsrather than by the description preceding them, and all changes that fallwithin metes and bounds of the claims, or equivalence of such metes andbounds are therefore intended to be embraced by the claims.

What is claimed is:
 1. A method of combining a flowchart languageprogram with a plurality of ladder programs for controlling objects in aprocess, said method comprising the steps of:creating a plurality ofladder programs for controlling respective ones of said objects, eachladder program including an automatic contact, an automatic enablingcontact, a manual contact and a manual enabling contact; creating aflowchart language program including commands such that said commandssequentially activate said automatic contacts for automatic operation ofsaid process; and combining said ladder programs and said flowchartlanguage program; said automatic enabling contact being defined in eachladder program such that said automatic enabling contact is activated toenable the activation of said automatic contact during said automaticoperation which is selected by an automatic/manual selection switch;said manual contact being defined in each ladder program such that saidmanual contact is activated by a manual switch in a manual operationwhich is selected by said automatic/manual selection switch; said manualenabling contact being defined in each ladder program such that saidmanual enabling contact is activated to enable the activation of saidmanual contact during said manual operation which is selected by saidautomatic/manual selection switch; said combining step includes thesteps of: permitting execution of said flow chart language program, andpermitting execution of said ladder programs in response to execution ofsaid flowchart language program when said automatic operation isselected and independent execution of said ladder programs when manualoperation is selected.
 2. The method according to claim 1, furthercomprising the step of:executing said flowchart language program inparallel with said plurality of ladder programs when controlling saidprocess.
 3. The method according to claim 1, wherein said flowchartlanguage program further includes commands for waiting for the resultsof said ladder programs.
 4. The method according to claim 1, whereinsaid flowchart language program further includes a command for waitingfor a lapse of a predetermined time.
 5. The method according to claim 1,wherein each of said ladder programs further includes a contact for aninterlock which enables the operation of said ladder program under arespective predetermined condition of said process.
 6. A controller forcontrolling operations of objects in a process by the use of a flowchartlanguage program and a plurality of ladder programs, said controllercomprising:an automatic/manual selection switch for selecting one of anautomatic operation and a manual operation of said process; firststorage means for storing said flowchart language program which definesa whole flow of said automatic operation by using a first type ofcommands which sequentially activate automatic contacts for saidautomatic operation and a second type of commands which provide waitsfor said results of executions of said ladder programs; a firstprocessor for executing said flowchart language program which is storedin said first storage means; a plurality of manual switches eachprovided for manual operation of a respective one of said objects;second storage means for storing said plurality of ladder programs eachincluding a respective one of said automatic contacts, and being definedto control operation of a respective object such that the operation isstarted by activation of the respective one of said automatic contactsduring automatic operation and started by a respective manual switchduring manual operation; a second processor for sequentially andrepeatedly executing said plurality of ladder programs stored in saidsecond storage means in response to execution of said flowchart languageprogram by said first processor when automatic operation is selected andindependently executing said ladder programs in response to activationof said manual switches when manual operation is selected; and thirdstorage means, including a storage area accessible by said first andsecond processors, for storing information to be transferred betweensaid first and second processors and between said objects and saidprocessors such that requests for activations of said automatic contactsare notified from said first processor to respective ladder programswhile results of executions of said ladder programs are notified fromsaid objects to said first processor during automatic operation.
 7. Thecontroller according to claim 6, wherein said results of execution ofsaid ladder programs include outputs to sensors or switches which areinfluenced by said results of executions of said ladder programs.
 8. Acontroller, for controlling an apparatus of a manufacturing processhaving a memory and a processor, comprising:a memory for storing aflowchart language program and a ladder program which represent acontrol sequence of said apparatus of a manufacturing process, saidladder program including automatic and manual contacts each beingselectable by an automated manual selection switch, said automaticcontact when selected causes automatic operation of said apparatus inresponse to execution results of said flowchart language program, saidmanual contact when selected causes manual operation of said apparatusindependent of said flowchart language program; a first processor forexecuting said flowchart language program; and a second processor forexecuting said ladder program in response to execution of said flowchartlanguage program by said first processor when said automatic contact isselected and independently executing said ladder program when saidmanual contact is selected; wherein said first processor and said secondprocessor operate simultaneously to parallel parallelly process saidflowchart language program and said ladder program when said automaticcontact is selected; wherein results of said first and second processorcomprise signals which are communicated to sensors or switches which areinfluenced by said results.